﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Data;
//using Excel = Microsoft.Office.Interop.Excel;
//using System.Runtime.InteropServices;

//namespace JiuMeiMall.PMethod
//{
//    public class ExcelHandle
//    {

//        /// <summary>   
//        /// 数据库转为excel表格   
//        /// </summary>   
//        /// <param name="dataTable">数据库数据</param>   
//        /// <param name="SaveFile">导出的excel文件</param>   
//        public static void DataSetToExcel(DataTable dataTable, string SaveFile)
//        {
//            Excel.Application excel;

//            Excel._Workbook workBook;

//            Excel._Worksheet workSheet;

//            object misValue = System.Reflection.Missing.Value;

//            excel = new Excel.ApplicationClass();

//            workBook = excel.Workbooks.Add(misValue);

//            workSheet = (Excel._Worksheet)workBook.ActiveSheet;
//            int rowIndex = 1;

//            int colIndex = 0;

//            //取得标题   
//            foreach (DataColumn col in dataTable.Columns)
//            {
//                colIndex++;

//                excel.Cells[1, colIndex] = col.ColumnName;
//            }

//            //取得表格中的数据   
//            foreach (DataRow row in dataTable.Rows)
//            {
//                rowIndex++;

//                colIndex = 0;

//                foreach (DataColumn col in dataTable.Columns)
//                {
//                    colIndex++;

//                    excel.Cells[rowIndex, colIndex] =

//                         row[col.ColumnName].ToString().Trim();

//                    //设置表格内容居中对齐   
//                    workSheet.get_Range(excel.Cells[rowIndex, colIndex],

//                      excel.Cells[rowIndex, colIndex]).HorizontalAlignment =

//                                    Excel.XlVAlign.xlVAlignCenter;
//                }
//            }

//            excel.Visible = false;

//            workBook.SaveAs(SaveFile, Excel.XlFileFormat.xlWorkbookNormal, misValue,

//                misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive,

//                misValue, misValue, misValue, misValue, misValue);

//            dataTable = null;

//            workBook.Close(true, misValue, misValue);

//            excel.Quit();

//            PublicMethod.Kill(excel);//调用kill当前excel进程   

//            releaseObject(workSheet);

//            releaseObject(workBook);

//            releaseObject(excel);

//        }
//        private static void releaseObject(object obj)
//        {
//            try
//            {
//                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
//                obj = null;
//            }
//            catch
//            {
//                obj = null;
//            }
//            finally
//            {
//                GC.Collect();
//            }
//        }

//        public class PublicMethod
//        {
//            [DllImport("User32.dll", CharSet = CharSet.Auto)]

//            public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);

//            public static void Kill(Microsoft.Office.Interop.Excel.Application excel)
//            {
//                try
//                {
//                    IntPtr t = new IntPtr(excel.Hwnd);

//                    int k = 0;

//                    GetWindowThreadProcessId(t, out k);

//                    System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);

//                    p.Kill();
//                }
//                catch
//                { }
//            }
//        }

//    }
//}
